﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using RTracker.Models.Common;

namespace RTracker.Areas.Recruitment.Models.CandidateDriveStatus
{
    public class GCandidateDriveStatus
    {
        // members  declaration
        private List<CCandidateDriveStatus> _lstCandidateDriveStatus;
        private CCandidateDriveStatus _oCCandidateDriveStatus;                              // to store object of CCandidateDriveStatus
        private CStatus _oCStatus;                          // to store object of CStatus
        private CPaging _oCPaging;
        private int m_nId;                                // to store  id in case of save to return it to view. Based upon that we will refresh grid.

        // Default Constructor
        public GCandidateDriveStatus()
        {
            _lstCandidateDriveStatus = null;
            _oCCandidateDriveStatus = null;
            _oCStatus = null;
            _oCPaging = null;
        }

        // parameterized constructor
        public GCandidateDriveStatus(List<CCandidateDriveStatus> lstCandidateDriveStatus, CCandidateDriveStatus oCCandidateDriveStatus, CStatus oCStatus, CPaging oCPaging)
        {
            _lstCandidateDriveStatus = lstCandidateDriveStatus;
            _oCCandidateDriveStatus = oCCandidateDriveStatus;
            _oCStatus = oCStatus;
            _oCPaging = oCPaging;
        }

        #region  "Properties"


        public List<CCandidateDriveStatus> LstCandidateDriveStatus
        {
            get { return _lstCandidateDriveStatus; }
            set { _lstCandidateDriveStatus = value; }
        }

        /// <summary>
        /// Used to store object of CCandidateDriveStatus
        /// </summary>
        public CCandidateDriveStatus CandidateDriveStatus
        {
            get { return _oCCandidateDriveStatus; }
            set { _oCCandidateDriveStatus = value; }
        }

        /// <summary>
        /// Used to store object of CStatus
        /// </summary>
        public CStatus Status
        {
            get { return _oCStatus; }
            set { _oCStatus = value; }
        }

        /// <summary>
        /// Used to store object of CPaging
        /// </summary>
        public CPaging Paging
        {
            get { return _oCPaging; }
            set { _oCPaging = value; }
        }

        /// <summary>
        /// Used to store candidate drive status id
        /// </summary>
        public int Id
        {
            get { return m_nId; }
            set { m_nId = value; }
        }

        #endregion
    }
}